// -*- IDL -*-

/**
 * @file ServerRequestInterceptor.pidl
 *
 * $Id$
 *
 * @brief Pre-compiled IDL source for the PortableInterceptor
 * components in the ORB.
 *
 * This file was used to generate the code in ServerRequestInterceptorC.*
 * The command used to generate code is:
 *
 *  tao_idl
 *     -o orig -Gp -Gd -GA -SS -Sci
 *          -Wb,export_include="tao/PI_Server/pi_server_export.h"
 *          -Wb,export_macro=TAO_PI_Server_Export
 *          -Wb,pre_include="ace/pre.h"
 *          -Wb,post_include="ace/post.h"
 *          ServerRequestInterceptor.pidl
 *
 * Patches for changes to the generated code are available in the
 * `diffs' directory.
 */

#ifndef _SERVER_REQUEST_INTERCEPTOR_IDL_
#define _SERVER_REQUEST_INTERCEPTOR_IDL_

#include "tao/PI/Interceptor.pidl"
#include "tao/PI/PIForwardRequest.pidl"
#include "tao/OctetSeq.pidl"

module PortableInterceptor {

  typeprefix PortableInterceptor "omg.org";

  local interface ServerRequestInfo;

  local interface ServerRequestInterceptor : Interceptor
  {
    /// Proprietary method in TAO for fault tolerance
    void tao_ft_interception_point (in ServerRequestInfo ri, out CORBA::OctetSeq os) raises (ForwardRequest);
    void receive_request_service_contexts (in ServerRequestInfo ri) raises (ForwardRequest);
    void receive_request (in ServerRequestInfo ri) raises (ForwardRequest);
    void send_reply (in ServerRequestInfo ri);
    void send_exception (in ServerRequestInfo ri) raises (ForwardRequest);
    void send_other (in ServerRequestInfo ri) raises (ForwardRequest);
  };
};

#endif  /* _SERVER_REQUEST_INTERCEPTOR_IDL_ */
